[Script Pascal] Verificando quantos Caracteres por Segundo tem a legenda
Publicado por rafael farias novaes 26/01/2009
[ Hits: 7.299 ]
Homepage: http://www.vivaolinux.com.br/perfil/verPerfil.php?login=bfmano
Seguindo a linha de garimpagem do Pix, estou pesquisando na internet alguns scripts pascal que facilitam nossa vida.
Este gera um relatório dizendo se sua legenda está nos "padrões" de 25 caracteres exibidos em 1 segundo (tempo-limite que a maioria das pessoas leva pra ler a legenda). OBS: o padrão oficial para dvd's comerciais e filmes de cinema é de 13 a 18 cps em média.
Salve este código com o nome ShowCPS.pas na pasta PascalScripts do Subtitle Workshop
// Made by Buzcatcher
program ShowCPS;
// ---------------------------------------------
const
cpsreport = 'C:\cps_report.txt';
CRLF = ''#13''#10;
Rsep = ' | ';
var
i, n, p : Integer;
duration, sublength, cps : Integer;
subtxt, report : String;
Ms : TmemoryStream;
begin
Ms := TmemoryStream.Create;
n := GetSubtitleCount-1;
for i := 0 to n do
begin
subtxt := GetSubtitleText(i);
sublength := length(subtxt);
p := pos(''#13''#10, subtxt);
if (p>0) then
sublength := sublength - 2;
duration := GetSubtitleFinalTime(i) - GetSubtitleInitialTime(i);
cps := round((sublength * 1000)/ duration);
report := IntToStr(i+1) + Rsep + IntToStr(sublength) + ' Characters' + Rsep + IntToStr(duration) + ' duration(ms)' + Rsep + '==> ' + IntToStr(cps) + ' Char/sec.'
if (cps > 25) then
report := report + Rsep + 'LEGENDA MUITO RAPIDA'
report := report + CRLF
Ms.Write(report, length(report));
try
Ms.SaveToFile(cpsreport);
except
MsgBox('Couldn''t write to file!', '&Ok', '', '', $20);
end;
end;
Ms.Free;
MsgBox('Report saved in C:\cps_report.txt', '&Ok', '', '', $20);
end.
Visualizador de imagens feito no Lazarus
Funções de Manipulação de Arquivos Pascal
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
O widget do Plasma 6 Área de Notificação
[Resolvido] Algo deu errado ao abrir seu perfil
[Resolvido] Conselho distribuiçao brasileira (9)
Quero instalar, configurar, setar tamanho do rsyslog. (3)









